﻿using BW.WMS.Core.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BW.WMS.Domain.Entities.InboundOrder
{
    /// <summary>
    /// 入库单主表字段
    /// </summary>
    public class WMS_InboundOrder:BaseEntity
    {
        /// <summary>
        /// 入库单号
        /// </summary>
        public string InboundNo { get; set; } = string.Empty;

        /// <summary>
        /// 入库类型（采购入库/生产入库/销售退货/返回入库/期初入库等）
        /// </summary>
        public string InboundType { get; set; } = string.Empty;

        /// <summary>
        /// 状态（草稿/待审核/驳回/已完成）
        /// </summary>
        public string Status { get; set; } = string.Empty;

        /// <summary>
        /// 入库日期
        /// </summary>
        public DateTime InboundDate { get; set; }= DateTime.Now;

        /// <summary>
        /// 仓库ID
        /// </summary>
        public int WarehouseId { get; set; }

        /// <summary>
        /// 仓库名称
        /// </summary>
        public string WarehouseName { get; set; } = string.Empty;

        /// <summary>
        /// 关联单号
        /// </summary>
        public long RelatedOrderNo { get; set; }

        /// <summary>
        /// 经办人ID
        /// </summary>
        public int OperatorId { get; set; }

        /// <summary>
        /// 入库总数量
        /// </summary>
        public decimal TotalQuantity { get; set; }

        /// <summary>
        /// 入库总金额
        /// </summary>
        public decimal TotalAmount { get; set; }

        /// <summary>
        /// 制单人ID
        /// </summary>
        public int CreatorId { get; set; }

        /// <summary>
        /// 制单人姓名
        /// </summary>
        public string CreatorName { get; set; } = string.Empty;

        /// <summary>
        /// 所在部门
        /// </summary>
        public string Department { get; set; }

        /// <summary>
        /// 制单时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 审核人ID
        /// </summary>
        public int? AuditorId { get; set; }

        /// <summary>
        /// 审核人姓名
        /// </summary>
        public string AuditorName { get; set; }=string.Empty;

        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? AuditTime { get; set; }=DateTime.Now;

        /// <summary>
        /// 联系人
        /// </summary>
        public string ContactPerson { get; set; } = string.Empty;

        /// <summary>
        /// 联系方式
        /// </summary>
        public string ContactMethod { get; set; } = string.Empty;

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; } = string.Empty;
    }
}
